package com.katesoft.scale4j.log;

/**
 * Logger is wrapper interface for well known org.slf4j.Logger.
 * <p/>
 * Please note:
 * <p/>
 * 1) this interface does not define method isSomeLevelEnabled(). Implementation will handle this at
 * runtime, so you should not worry about this.
 * <p/>
 * 2) each method with var args parameters list uses String.format, so actually independent of
 * logging frameworks.
 * 
 * @author kate2007
 */
public interface Logger {
   Logger trace(String message, Object... args);

   Logger debug(String message, Object... args);

   Logger info(String message, Object... args);

   Logger warn(String message, Object... args);

   Logger error(String message, Object... args);

   Logger warn(Throwable throwable);

   Logger error(Throwable throwable);
}
